[INFO] cloning repository https://github.com/nickg/rust-vhpi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nickg/rust-vhpi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnickg%2Frust-vhpi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnickg%2Frust-vhpi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b97dcde3a2695e0d05b56f513d8fc8ed669a4553
[INFO] fixing nickg/rust-vhpi against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnickg%2Frust-vhpi" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nickg/rust-vhpi
[INFO] finished tweaking git repo https://github.com/nickg/rust-vhpi
[INFO] tweaked toml for git repo https://github.com/nickg/rust-vhpi written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nickg/rust-vhpi on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nickg/rust-vhpi already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb
[INFO] running `Command { std: "docker" "start" "d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating vhpi-sys/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating vhpi-shim/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating vhpi/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating dumper/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/test_simple/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/stringindexing/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling bindgen v0.72.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking vhpi-shim v0.3.1 (/opt/rustwide/workdir/vhpi-shim)
[INFO] [stderr]    Migrating vhpi-shim/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling vhpi-sys v0.3.1 (/opt/rustwide/workdir/vhpi-sys)
[INFO] [stderr]    Migrating vhpi-sys/build.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating vhpi-sys/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed vhpi-sys/src/lib.rs (3 fixes)
[INFO] [stderr]     Checking vhpi v0.3.1 (/opt/rustwide/workdir/vhpi)
[INFO] [stderr]    Migrating vhpi/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed vhpi/src/callback.rs (2 fixes)
[INFO] [stderr]        Fixed vhpi/src/macros.rs (3 fixes)
[INFO] [stderr]        Fixed vhpi/src/error.rs (2 fixes)
[INFO] [stderr]     Checking dumper v0.3.1 (/opt/rustwide/workdir/dumper)
[INFO] [stderr]     Checking test_simple v0.3.1 (/opt/rustwide/workdir/tests/test_simple)
[INFO] [stderr]     Checking stringindexing v0.3.1 (/opt/rustwide/workdir/tests/stringindexing)
[INFO] [stderr]    Migrating dumper/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed dumper/src/dumper.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:18:29
[INFO] [stdout]     |
[INFO] [stdout]  17 |                         if let Some(indexed_handle) =
[INFO] [stdout]     |                                     --------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `indexed_handle` calls a custom destructor
[INFO] [stdout]     |                                     `indexed_handle` will be dropped later as of Edition 2024
[INFO] [stdout]  18 |                             obj.handle_by_index(vhpi::OneToMany::IndexedNames, index as i32)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  30 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `indexed_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:99:37
[INFO] [stdout]     |
[INFO] [stdout]  75 |     for sig in region.iterator(vhpi::OneToMany::SigDecls) {
[INFO] [stdout]     |         ---    ------------------------------------------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `sig` calls a custom destructor
[INFO] [stdout]     |         `sig` will be dropped later as of Edition 2024
[INFO] [stdout]  76 |         let type_handle = sig.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `type_handle` calls a custom destructor
[INFO] [stdout]     |             `type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  88 |                         let elem_type_handle = type_handle.handle(vhpi::OneToOne::ElemType);
[INFO] [stdout]     |                             ----------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `elem_type_handle` calls a custom destructor
[INFO] [stdout]     |                             `elem_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout]  89 |                         for (index, i) in type_handle.index_range().enumerate() {
[INFO] [stdout]     |                                           -------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `iter` calls a custom destructor
[INFO] [stdout]     |                                           `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                             if let Some(h) =
[INFO] [stdout]     |                                         -
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `h` calls a custom destructor
[INFO] [stdout]     |                                         `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 |                                     h.register_cb(vhpi::CbReason::ValueChange, value_change)
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 124 |                 for field in sig.iterator(vhpi::OneToMany::SelectedNames) {
[INFO] [stdout]     |                     -----    --------------------------------------------
[INFO] [stdout]     |                     |        |
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |        `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `field` calls a custom destructor
[INFO] [stdout]     |                     `field` will be dropped later as of Edition 2024
[INFO] [stdout] 125 |                     let field_type_handle = field.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `field_type_handle` calls a custom destructor
[INFO] [stdout]     |                         `field_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 140 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sig` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `elem_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:96:33
[INFO] [stdout]     |
[INFO] [stdout]  75 |     for sig in region.iterator(vhpi::OneToMany::SigDecls) {
[INFO] [stdout]     |         ---    ------------------------------------------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `sig` calls a custom destructor
[INFO] [stdout]     |         `sig` will be dropped later as of Edition 2024
[INFO] [stdout]  76 |         let type_handle = sig.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `type_handle` calls a custom destructor
[INFO] [stdout]     |             `type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  88 |                         let elem_type_handle = type_handle.handle(vhpi::OneToOne::ElemType);
[INFO] [stdout]     |                             ----------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `elem_type_handle` calls a custom destructor
[INFO] [stdout]     |                             `elem_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout]  89 |                         for (index, i) in type_handle.index_range().enumerate() {
[INFO] [stdout]     |                                           -------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `iter` calls a custom destructor
[INFO] [stdout]     |                                           `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                             if let Some(h) =
[INFO] [stdout]     |                                         -
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `h` calls a custom destructor
[INFO] [stdout]     |                                         `h` will be dropped later as of Edition 2024
[INFO] [stdout]  96 |                                 sig.handle_by_index(vhpi::OneToMany::IndexedNames, index as i32)
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 124 |                 for field in sig.iterator(vhpi::OneToMany::SelectedNames) {
[INFO] [stdout]     |                     -----    --------------------------------------------
[INFO] [stdout]     |                     |        |
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |        `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `field` calls a custom destructor
[INFO] [stdout]     |                     `field` will be dropped later as of Edition 2024
[INFO] [stdout] 125 |                     let field_type_handle = field.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `field_type_handle` calls a custom destructor
[INFO] [stdout]     |                         `field_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 140 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sig` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `elem_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:132:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |                     let field_type_handle = field.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `field_type_handle` calls a custom destructor
[INFO] [stdout]     |                         `field_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |                     if let Err(e) = field.register_cb(vhpi::CbReason::ValueChange, value_change) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 139 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/stringindexing/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:18:29
[INFO] [stdout]     |
[INFO] [stdout]  17 |                         if let Some(indexed_handle) =
[INFO] [stdout]     |                                     --------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `indexed_handle` calls a custom destructor
[INFO] [stdout]     |                                     `indexed_handle` will be dropped later as of Edition 2024
[INFO] [stdout]  18 |                             obj.handle_by_index(vhpi::OneToMany::IndexedNames, index as i32)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  30 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `indexed_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:99:37
[INFO] [stdout]     |
[INFO] [stdout]  75 |     for sig in region.iterator(vhpi::OneToMany::SigDecls) {
[INFO] [stdout]     |         ---    ------------------------------------------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `sig` calls a custom destructor
[INFO] [stdout]     |         `sig` will be dropped later as of Edition 2024
[INFO] [stdout]  76 |         let type_handle = sig.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `type_handle` calls a custom destructor
[INFO] [stdout]     |             `type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  88 |                         let elem_type_handle = type_handle.handle(vhpi::OneToOne::ElemType);
[INFO] [stdout]     |                             ----------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `elem_type_handle` calls a custom destructor
[INFO] [stdout]     |                             `elem_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout]  89 |                         for (index, i) in type_handle.index_range().enumerate() {
[INFO] [stdout]     |                                           -------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `iter` calls a custom destructor
[INFO] [stdout]     |                                           `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                             if let Some(h) =
[INFO] [stdout]     |                                         -
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `h` calls a custom destructor
[INFO] [stdout]     |                                         `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 |                                     h.register_cb(vhpi::CbReason::ValueChange, value_change)
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 124 |                 for field in sig.iterator(vhpi::OneToMany::SelectedNames) {
[INFO] [stdout]     |                     -----    --------------------------------------------
[INFO] [stdout]     |                     |        |
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |        `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `field` calls a custom destructor
[INFO] [stdout]     |                     `field` will be dropped later as of Edition 2024
[INFO] [stdout] 125 |                     let field_type_handle = field.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `field_type_handle` calls a custom destructor
[INFO] [stdout]     |                         `field_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 140 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sig` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `elem_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:96:33
[INFO] [stdout]     |
[INFO] [stdout]  75 |     for sig in region.iterator(vhpi::OneToMany::SigDecls) {
[INFO] [stdout]     |         ---    ------------------------------------------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `sig` calls a custom destructor
[INFO] [stdout]     |         `sig` will be dropped later as of Edition 2024
[INFO] [stdout]  76 |         let type_handle = sig.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `type_handle` calls a custom destructor
[INFO] [stdout]     |             `type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  88 |                         let elem_type_handle = type_handle.handle(vhpi::OneToOne::ElemType);
[INFO] [stdout]     |                             ----------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `elem_type_handle` calls a custom destructor
[INFO] [stdout]     |                             `elem_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout]  89 |                         for (index, i) in type_handle.index_range().enumerate() {
[INFO] [stdout]     |                                           -------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `iter` calls a custom destructor
[INFO] [stdout]     |                                           `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                             if let Some(h) =
[INFO] [stdout]     |                                         -
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `h` calls a custom destructor
[INFO] [stdout]     |                                         `h` will be dropped later as of Edition 2024
[INFO] [stdout]  96 |                                 sig.handle_by_index(vhpi::OneToMany::IndexedNames, index as i32)
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 124 |                 for field in sig.iterator(vhpi::OneToMany::SelectedNames) {
[INFO] [stdout]     |                     -----    --------------------------------------------
[INFO] [stdout]     |                     |        |
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |        `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `field` calls a custom destructor
[INFO] [stdout]     |                     `field` will be dropped later as of Edition 2024
[INFO] [stdout] 125 |                     let field_type_handle = field.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `field_type_handle` calls a custom destructor
[INFO] [stdout]     |                         `field_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 140 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 let _ = sig.register_cb(vhpi::CbReason::ValueChange, value_change);
[INFO] [stdout]     |                         ----------------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sig` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `elem_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> dumper/src/dumper.rs:132:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |                     let field_type_handle = field.handle(vhpi::OneToOne::Type);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `field_type_handle` calls a custom destructor
[INFO] [stdout]     |                         `field_type_handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |                     if let Err(e) = field.register_cb(vhpi::CbReason::ValueChange, value_change) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 139 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field_type_handle` invokes this custom destructor
[INFO] [stdout]    --> vhpi/src/handle.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl Drop for Handle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/stringindexing/src/lib.rs (1 fix)
[INFO] [stderr]    Migrating tests/test_simple/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/test_simple/src/test_simple.rs (1 fix)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.48s
[INFO] [stderr] crater-edition-check: vhpi-sys v0.3.1 (/opt/rustwide/workdir/vhpi-sys) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: vhpi-shim v0.3.1 (/opt/rustwide/workdir/vhpi-shim) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: vhpi v0.3.1 (/opt/rustwide/workdir/vhpi) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: dumper v0.3.1 (/opt/rustwide/workdir/dumper) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: test_simple v0.3.1 (/opt/rustwide/workdir/tests/test_simple) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: stringindexing v0.3.1 (/opt/rustwide/workdir/tests/stringindexing) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling vhpi-sys v0.3.1 (/opt/rustwide/workdir/vhpi-sys)
[INFO] [stderr]     Checking vhpi-shim v0.3.1 (/opt/rustwide/workdir/vhpi-shim)
[INFO] [stderr]     Checking vhpi v0.3.1 (/opt/rustwide/workdir/vhpi)
[INFO] [stderr]     Checking stringindexing v0.3.1 (/opt/rustwide/workdir/tests/stringindexing)
[INFO] [stderr]     Checking dumper v0.3.1 (/opt/rustwide/workdir/dumper)
[INFO] [stderr]     Checking test_simple v0.3.1 (/opt/rustwide/workdir/tests/test_simple)
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> dumper/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / startup_routines! {
[INFO] [stdout] 6 | |     dumper::dumper_startup,
[INFO] [stdout] 7 | | }
[INFO] [stdout]   | |_^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `startup_routines` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]  --> vhpi/src/macros.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         #[unsafe(no_mangle)]
[INFO] [stdout]   |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dumper` (lib test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> dumper/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / startup_routines! {
[INFO] [stdout] 6 | |     dumper::dumper_startup,
[INFO] [stdout] 7 | | }
[INFO] [stdout]   | |_^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `startup_routines` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]  --> vhpi/src/macros.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         #[unsafe(no_mangle)]
[INFO] [stdout]   |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> tests/stringindexing/src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / startup_routines! {
[INFO] [stdout] 4 | |     test_string_indexing_startup,
[INFO] [stdout] 5 | | }
[INFO] [stdout]   | |_^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `startup_routines` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]  --> vhpi/src/macros.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         #[unsafe(no_mangle)]
[INFO] [stdout]   |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> tests/test_simple/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / startup_routines! {
[INFO] [stdout] 6 | |     test_simple::test_simple_startup,
[INFO] [stdout] 7 | | }
[INFO] [stdout]   | |_^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `startup_routines` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]  --> vhpi/src/macros.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         #[unsafe(no_mangle)]
[INFO] [stdout]   |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> tests/stringindexing/src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / startup_routines! {
[INFO] [stdout] 4 | |     test_string_indexing_startup,
[INFO] [stdout] 5 | | }
[INFO] [stdout]   | |_^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `startup_routines` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]  --> vhpi/src/macros.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         #[unsafe(no_mangle)]
[INFO] [stdout]   |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> tests/test_simple/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / startup_routines! {
[INFO] [stdout] 6 | |     test_simple::test_simple_startup,
[INFO] [stdout] 7 | | }
[INFO] [stdout]   | |_^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `startup_routines` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]  --> vhpi/src/macros.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         #[unsafe(no_mangle)]
[INFO] [stdout]   |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stringindexing` (lib) due to 1 previous error
[INFO] [stderr] error: could not compile `dumper` (lib) due to 1 previous error
[INFO] [stderr] error: could not compile `stringindexing` (lib test) due to 1 previous error
[INFO] [stderr] error: could not compile `test_simple` (lib) due to 1 previous error
[INFO] [stderr] error: could not compile `test_simple` (lib test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb", kill_on_drop: false }`
[INFO] [stdout] d7529c99b8d8b8b0d34638d01904efd27605f9a5b26bc76018f5919aa3063cfb
